package day0529
import scala.math.sqrt
import util.control.Breaks._

/**
  *
  * object相当于java中的static
  *
  * java中使用static关键字来表示静态，scala中没有static关键字，使用object表示
  * object中的所有内容都是静态的
  *
  */
object Demo1 {

  def main(args: Array[String]): Unit = {

    //for循环
    //定义一个集合
    var list = List("Mary","Tom","Mike")


    println("====for第一种循环写法========")
    for(s<-list) println(s)
    println("====for第二种循环写法========")
    for{
      s<-list
      if(s.length > 3)
    }println(s)
    println("====for第三种循环写法========")
    for (s<- list if s.length <= 3) println(s)
    println("====for第四种循环写法========")
    var newList = for{
      s<-list
      s1 = s.toUpperCase()
    }yield (s1)
   for(s<-newList) println(s)


    println("====while循环========")
    var i=0
    while (i<list.length){
      println(list(i))
      //自增
      i+=1
    }

    println("====do while循环========")
    //定义循环变量
    var  j = 0;
    do {
      println(list(j))
      j+=1;
    }while(j<list.length)

    println("====foreach用法========")
    list.foreach(println)


    /**
      *
      *题目：判断101~200之间所有的素数
      *
      * 判断素数方法：
      * 用一个数分别去除以2到sqort（这个数），如果能被2整除，则不是素数，反之是素数
      *
      */

    var count : Int = 0
    var index_out : Int = 0
    var index_inner : Int = 0
    var alist = List()
    for(index_out <- 101 until 200 ){
      var b = false   //标识是否可以被整除

      breakable{
        index_inner = 2
        while (index_inner <= sqrt(index_out)){
          if(index_out % index_inner  == 0){
            b  = true
            break
          }
          index_inner += 1
        }
      }

      if(b){
        count+=1
      }
    }
    println("个数为："+count)


    println("====foreach用法========")


    /**
      *
      * 冒泡排序
      * 1.比较相邻元素，如果第一个比第二个大，就交换位置
      * 2.对每一对相邻元素做相同的工作，这一步做完后，最后的元素会是最大的元素
      *
      *
      *
      */


      var a = Array(12,3,6,8,24,15,91,82,31,2,54)
    println("====排序前========")
    a.foreach(println)
    println("====排序后========")
    for(i <- 0 until a.length-1){
      for(j <- 0 until a.length-1-i){

          if(a(j)>a(j+1)){
            var tmp = a(j)
            a(j) = a(j+1)
            a(j+1) = tmp
          }
      }
    }
   a.foreach(println)



  }


}
